|
|
Hlavní nabídka Prohlížení IS/STAG
Nalezené předměty, počet: 1
Stránkování výsledků vyhledávání
Nalezeno 1 záznamů
Export do Xls
Informace o předmětu
KIV / CICD
:
Popis předmětu
Pracoviště / Zkratka
|
KIV
/
CICD
|
Akademický rok
|
2023/2024
|
Akademický rok
|
2023/2024
|
Název
|
Průběžný vývoj a dodávky software
|
Způsob zakončení
|
Zkouška
|
Způsob zakončení
|
Zkouška
|
Akreditováno / Kredity
|
Ano,
4
Kred.
|
Forma zakončení
|
Kombinovaná
|
Forma zakončení
|
Kombinovaná
|
Rozsah hodin
|
Přednáška
2
[HOD/TYD]
Cvičení
2
[HOD/TYD]
|
Zápočet před zkouškou
|
Ano
|
Zápočet před zkouškou
|
Ano
|
Automatické uznávání zápočtu před zkouškou
|
Ano v případě předchozího hodnocení 4 nebo nic.
|
Počítán do průměru
|
ANO
|
Vyučovací jazyk
|
Čeština
|
Obs/max
|
|
|
|
Automatické uznávání zápočtu před zkouškou
|
Ano v případě předchozího hodnocení 4 nebo nic.
|
Letní semestr
|
0 / -
|
13 / -
|
1 / -
|
Počítán do průměru
|
ANO
|
Zimní semestr
|
0 / -
|
0 / -
|
0 / -
|
Opakovaný zápis
|
NE
|
Opakovaný zápis
|
NE
|
Rozvrh
|
Ano
|
Vyučovaný semestr
|
Letní semestr
|
Vyučovaný semestr
|
Letní semestr
|
Minimum (B + C) studentů
|
nestanoveno
|
Volně zapisovatelný předmět |
Ano
|
Volně zapisovatelný předmět
|
Ano
|
Vyučovací jazyk
|
Čeština
|
Počet dnů praxe
|
0
|
Počet hodin kontaktní výuky |
0
|
Hodnotící stupnice |
1|2|3|4 |
Periodicita |
každý rok
|
Hodnotící stupnice pro zp. před zk. |
S|N |
Periodicita upřesnění |
|
Základní teoretický předmět |
Ne
|
Profilující předmět |
Ano
|
Základní teoretický předmět |
Ne
|
Hodnotící stupnice |
1|2|3|4 |
Hodnotící stupnice pro zp. před zk. |
S|N |
Nahrazovaný předmět
|
Žádný
|
Vyloučené předměty
|
Nejsou definovány
|
Podmiňující předměty
|
Nejsou definovány
|
Předměty informativně doporučené
|
KIV/UPS a KIV/OS a KIV/PIA nebo KIV/PIA-E
|
Předměty,které předmět podmiňuje
|
Nejsou definovány
|
Graf četnosti udělených hodnocení studentům napříč roky:
Obrázek PNG
,
XLS
|
Cíle předmětu (anotace):
|
Cílem předmětu je naučit studenty principy průběžného vývoje a dodávek (continuous integration, continuous delivery) komplexního software a architektur, dát jim zkušenost s využitím odpovídajících automatizačních nástrojů a naučit je vhodným způsobem navrhovat a udržovat automatické sestavovací linky.
|
Požadavky na studenta
|
Úspěšná realizace a průběžná prezentace meziproduktů celosemestrálního projektu ve skupině 2-3 studentů), povinná účast na hodnotících cvičeních. Mezní termín odevzdání semestrální práce je 31.1. daného akademického roku, student musí získat alespoň 50% z celkového počtu možných bodů.
Písemná zkouška, doplněná podle potřeby ústním pohovorem, přičemž student musí získat alespoň 50% z celkového počtu možných bodů.
Celkové hodnocení z předmětu je dáno 60% hodnocení z celosemestrálního projektu a 40% hodnocení písemné zkoušky
Z důvodu průběžné aktualizace předmětu je pro získání zápočtu při opakovaném zapsání předmětu (viz SZŘ čl. 24 odst. 3) nutné souhlasné vyjádření garanta předmětu.
|
Obsah
|
Přehled témat přednášek (nejedná se o rozpis do výukových týdnů):
1) Úvod, důvody zavádění DevOps metodologie, její cíle, fáze a metriky. Průběžná integrace a nasazování změn (CI/CD), princip sestavovací linky, definice vývojového, testovacího, předprodukčního a produkčního prostředí.
2) Nasazování software a zajišťování jeho skladebních komponent. Teorie a strategie aktualizace software. Základní typy softwarových artefaktů, jejich distribuce a údržba vzájemných závislostí. Úvod do kontejnerové architektury.
3) Kontejnerová architektura, její principy a přínos. Úvod do sestavování, distribuce a nasazování kontejnerů v sestavovací lince.
4) Přístup k infrastruktuře jako ke kódu. Základní principy, verzování, nasazování změn. Dynamické aspekty infrastruktury a automatické škálování. CI/CD infrastruktury.
5) Monitorování software, trasování a audit událostí. Sběr metrik, významné provozní metriky softwarových systémů. Agregace logů, jejich archivace a retenční strategie. Využití metrik při provozu, návrhu a vývoji software. Srozumitelnost a správná interpretace nasbíraných metrik. Indikátory úrovně služeb a jejich vhodná volba. Nakládání s citlivými údaji při logování.
6) Bezpečnostní aspekty při vývoji a provozu software. Návrh bezpečného software, statická analýza bezpečnosti software, penetrační testy. Analýza složení software, soupis použitých komponent, bezpečnost software třetích stran a dodržení licenčních ujednání software třetích stran v rámci konkrétního způsobu distribuce software.
7) CI/CD v kontextu databázových systémů. Problém migrace databázového schématu a dat, specifika migrace tradičních relačních a noSQL databází.
8) Aplikace technik průběžného vývoje a provozu v oblasti mobilních aplikací a IoT zařízení.
9) Kontinuální zpětná vazba. Realizace v jednotlivých fázích sestavovací linky, automatické notifikace o výpadcích a nežádoucích trendech parametrů běžícího software. Postupy řešení havárií a jejich protokolování. Systémy pro sběr a evidenci chyb a nových požadavků.
Dle aktuálních možností budou také zařazena 1 hostovaná přednáška na téma aplikace kontinuální integrace a nasazování změn.
|
Aktivity
|
|
Studijní opory
|
|
Garanti a vyučující
|
|
Literatura
|
-
Základní:
Hsu, Tony. Hands-On Security in DevOps. Packt Publishing, 2019. ISBN 978-1-78899-550-4.
-
Základní:
Krief, Mikael. Learning DevOps. Packt Publishing, 2019. ISBN 978-1-83864-273-0.
-
Rozšiřující:
DevOps Adoption Strategies: Principles, Processes, Tools, and Trends
(Coupland, Martyn)
-
Rozšiřující:
Modern DevOps Practices
(Agarwal, Gaurav)
-
Doporučená:
Gonzales, David. Implementing Modern DevOps. Packt Publishing, 2017. ISBN 978-1-78646-687-7.
-
On-line katalogy knihoven
|
Časová náročnost
|
Všechny formy studia
|
Aktivity
|
Časová náročnost aktivity [h]
|
Kontaktní výuka
|
48
|
Příprava na zkoušku [10-60]
|
24
|
Praktická výuka [vyjádření počtem hodin]
|
32
|
Celkem
|
104
|
|
Předpoklady
|
Odborné znalosti - pro úspěšné zvládnutí předmětu se předpokládá, že je student před zahájením výuky schopen: |
Zvládnutí alespoň jednoho vyššího programovacího jazyka na pokročilé úrovni. |
Schopnost navrhnout a implementovat aplikaci malého až středního rozsahu na úrovni předmětů KIV/SAR a KIV/PIA. |
Znalost základů TCP/IP sítí a prostředí OS Unix/Linux na úrovni předmětů KIV/UPS a KIV/ZOS. |
Znalost vyšších komunikačních protokolů na úrovni etablovaných aplikačních rozhraní na úrovni předmětu KIV/PIA. |
Znalost základních principů agilního vývoje software na úrovni předmětu KIV/ZSWI. |
Odborné dovednosti - pro úspěšné zvládnutí předmětu se předpokládá, že student před zahájením výuky dokáže: |
Zvládání alespoň jednoho běžného nástroje pro správu verzí na úrovni předmětu KIV/ZSWI. |
Obecné znalosti z oblasti správy procesů a zdrojů OS Unix/Linux na úrovni předmětu KIV/ZOS. |
Programovat a ladit programy pod operačním systémem typu Unix/Linux. |
Obecné způsobilosti - před zahájením studia předmětu je student schopen: |
mgr. studium: dle rámcového zadání a přidělených zdrojů koordinují činnost týmu, nesou odpovědnost za jeho výsledky, |
mgr. studium: srozumitelně a přesvědčivě sdělují odborníkům i laikům informace o povaze odborných problémů a vlastním názoru na jejich řešení, |
|
Výsledky učení
|
Odborné znalosti - po absolvování předmětu prokazuje student znalosti: |
Schopnost popsat a vysvětlit model kooperativního vývoje, automatizovaného nasazení, bezpečného a spolehlivého provozu aplikace. |
Schopnost rozumět základním pojmům a problémům kooperativního vývoje jako jsou technický dluh, regrese, problém důvěry v kvalitu svobodného software a software třetích stran.
|
Schopnost rozumět funkcím a významu jednotlivých etap vývoje software a být schopen jejich realizace pomocí software třetích stran nebo vlastními prostředky.
|
Znalost strategií pro nasazení a aktualizaci software. |
Znalost přístupů k distribuci software a jeho částí. |
Základní znalost technologií kontejnerů. |
Přehled o možnostech monitoringu, metrikách provozovaného software a jejich uplatnění při diagnostice a sledování trendů provozních parametrů software. |
Odborné dovednosti - po absolvování předmětu prokazuje student dovednosti: |
Praktická zkušenost s alespoň jedním nástrojem pro automatizaci správy infrastruktury a jejího nasazení. |
Praktická zkušenost s alespoň jedním nástrojem pro tvorbu sestavovací linky software. |
Praktická zkušenost s CI/CD modelem a návrhem sestavovací linky. |
Praktická zkušenost s návrhem a implementací modelu kooperativního vývoje. |
Obecné způsobilosti - po absolvování předmětu je student schopen: |
mgr. studium: používají své odborné znalosti, odborné dovednosti a obecné způsobilosti alespoň v jednom cizím jazyce, |
|
Hodnoticí metody
|
Odborné znalosti - odborné znalosti dosažené studiem předmětu jsou ověřovány hodnoticími metodami: |
Písemná zkouška, |
Průběžné hodnocení, |
Odborné dovednosti - odborné dovednosti dosažené studiem předmětu jsou ověřovány hodnoticími metodami: |
Demonstrace dovedností (praktická činnost), |
Průběžné hodnocení, |
Obecné způsobilosti - obecné způsobilosti dosažené studiem předmětu jsou ověřovány hodnoticími metodami: |
Písemná zkouška, |
|
Vyučovací metody
|
Odborné znalosti - pro dosažení odborných znalostí jsou užívány vyučovací metody: |
Přednáška s diskusí, |
Skupinová konzultace, |
Samostudium, |
Odborné dovednosti - pro dosažení odborných dovedností jsou užívány vyučovací metody: |
Cvičení (praktické činnosti), |
Demonstrace dovedností, |
Skupinová konzultace, |
Obecné způsobilosti - pro dosažení obecných způsobilostí jsou užívány vyučovací metody: |
Přednáška s aktivizací studentů, |
|
|
|
|